This invention relates generally to wide area networks, and more particularly to the testing of web sites hosted by web servers coupled to a TCP/IP protocol network.
The Internet has, of late, become ubiquitous. The Internet is a robust, Wide Area Network (WAN) of networks which permits communication among computers, networks, and other digital devices which adhere to a standard "TCP/IP" protocol. One of the most popular ways of communicating over the intersite is through a "web site" which is hosted on a suitable digital processing machine such as a personal computer, workstation, etc. Users or "clients" use, for example, their personal computers to communicate with a web site via a browser program or, simply, "browser." The most commonly used browsers are the Navigator.TM. from Netscape Communications, Inc., and the Internet Explorer.TM. from Microsoft, Inc.
It has become increasing simple for companies and individuals to create their own web sites. There are a number of commercially available packages which generate the necessary HTML code to create "web pages" which can be uploaded to web servers connected to the Internet. Connections to the Internet and web server hosts are often provided by a company known as an Internet Service Provider (ISP).
Since web pages are, essentially, programs written in the HTML language, it is possible that one or more web pages of a web site contains errors. These errors may only show up intermittently since much of the interaction with the web site can be dynamic, i.e. it can change from session to session. Therefore, the need has arisen for some method to test web sites for errors.
In FIG. 1, a system 10 for testing a web site includes a TCP/IP protocol network 12, such as the Internet, a web server 14 coupled to the Internet 12 by an ISP 16, any number of user or client machines such as client machines 18A, 18B, 18C, etc. coupled to the Internet 12 by ISP's 30 20A, 20B, 20C, etc., and a testing computer 22 coupled to the Internet 12 by an ISP 24.
In the prior art, software running on the testing computer 22 connects with a web site 26 hosted by the web server 14 through the Internet 12 and attempts to download web pages. Upon a failure to download a web page, the testing computer 22 running this prior art software detects an error.
It should be noted that a depiction of FIG. 1 is logical in nature, and may be implemented in a variety of fashions. For example, the testing computer 22 and the web server 14 can be the same machine. As another example, any of the client machines 18A, 18B, 18C, etc., or the testing computer 22, or the web server 14 can be connected into the Internet 12 in other fashions, such as into the "backbone" of the Internet. Further the Internet is only one example of a network 12 implementing a TCP/IP protocol. Other examples of TCP/IP protocol networks include intranets and extranets, as will be appreciated by those skilled in the art.
The testing computers 22 of the prior art include testing software which simulate browser software to the extent that they can download web pages. The successful downloading of a web page in the prior art was usually considered sufficient to determine that that web page was error free. In some instances, prior art testing computers 22 may examine or "parse" the HTML of the downloaded web page to make further determination whether there is an error in the downloaded web page. An example of prior art testing software includes the WhatsUp.TM. software of IpSwitch, Inc. of Lexington, Mass. This software is capable of testing only a single web page.
Unfortunately, the simple downloading of web pages with, perhaps, a cursory examination of the HTML is often insufficient to determine all the errors that a user might encounter when actually interacting with those web pages. This is due, in part, to the complex interactivity permitted under the HTML standards, and is due, in part, to the fact that many interactions with web pages are "dynamic" in that they may change from session to session. It would therefore be desirable to have a method for testing a web site which can test multiple features of web pages, and which can handle dynamic interactions with the web site.